The present invention is directed to network communications.
A communications network such as network 100 of FIG. 1 may include a plurality of stations or nodes (nodes A–F) coupled by transmission media (e.g., cable wire or optical fiber) providing a path for the transmission of data (e.g., E-mail, video, multimedia, or voice) between two or more nodes (e.g. transmission media 140 between nodes A and B, and transmission media 141 between nodes B and C). The data can be transferred in accordance with a network protocol (e.g., Internet Protocol (IP), asynchronous transfer mode (ATM), or synchronous optical network/synchronous digital hierarchy (SONET/SDH)) over optical transmission media. The network 100 may include one or more central nodes and one or more branch nodes connected by an inner ring 126 and an outer ring 146. In this type of network configuration (a dual-ring topology), data can be transmitted from a source node to a destination node (often through intermediary nodes) by transmitting data along one of the two rings (e.g., inner ring 126 or outer ring 146), where the rings have traffic flowing in opposing directions (clockwise direction 110 or counterclockwise direction 111). Control information can be routed in a direction opposite the control information's respective data. As data enters each successive node, local data is split off and transit data passes through the node along the ring. In addition, local data may be added at each node (i.e., transmit data), integrated with the transit data and forwarded on a respective ring to a next node in the network.
Data is received in a node (e.g., node B) along a transmission media (e.g., transmission media 140 of outer ring 146 (FIG. 1)). The data received is generally in packet format, where each packet has a header, indicating source and destination information along with a ring identifier. As packets are received at a node, the packets are routed using the destination information in the packet header to determine if the packet is destined for the local host (local traffic) or should be forwarded along a ring to another node in the network (transit traffic). The ring identifier is used to determine whether the traffic is wrap traffic. Wrap traffic refers to traffic that was originally placed on one ring of the network, but due to congestion or failures in the network, has been redirected to the other ring.
When nodes are added to a network, each node must discover the other nodes in the network in order to make appropriate routing decisions. For example, when local traffic is added to a ring, the decision as to on which ring to add the traffic can be made based on the shortest path. The shortest path determination requires knowledge of each node in the network between the node and a given destination. In addition, routing decisions or traffic congestion determinations can be made based on the type of traffic that is received. As described above, each packet includes a ring identifier. Traffic that is wrap traffic may be prioritized differently than other transit traffic for a given ring. Conventional networks require that each ring be identified at the time of installation, and more specifically, that each of the ports for the node be correctly wired to a respective inner or outer ring of the network. If a given node's ports are reversed, the node will not function. As such, conventional networks do not support plug-and-play nodes that are capable of discovering which ring is which, and adapt to a given configuration.